1. Field of Invention
2. Discussion of the Related Art
The present invention concerns a method of optimising the size of a block of coded data intended to be subjected to an iterative decoding, such as the one implemented in a turbodecoder or a turboequaliser. It applies in particular to the so-called third generation telecommunications systems.
The concept of turbocode was introduced by C. Berrou, A. Glavieux and P. Thitimajshima in their article “Near Shannon Limit Error-Correcting Coding and Decoding: Turbo-codes”, ICC-1993, Conference Proceedings, pp. 1064-1070, and has, as is known, been subject to many developments.
It will be recalled that turbocoding results from the concatenation of elementary codes separated by interleaving steps. The elementary codes can be of different types: recursive systematic codes (denoted RSC) for convolutional turbocodes or block codes (RS, BCH) for block turbocodes. The latter were described by R. Pyndiah, P. Combelles and P. Adde in an article entitled “A very low complexity block turbo decoder for product codes”, published in Proc. of IEEE Globecom, pp. 101-105, 1996. Different types of concatenation have been envisaged such as parallel concatenation, in which the same information is coded separately by each coder after having been interleaved and serial concatenation in which the output of each coder is interleaved before being coded by the following coder. For a detailed description, reference can be made, for parallel concatenation, to the aforementioned article by Berrou et al. and, for serial concatenation, to the article by S. Benedetto, G. Montorsi, D. Divsalar and F. Pollara, “Serial concatenation of interleaved codes: Performance analysis, design and iterative decoding”, JPL TDA Progr. Rep., Vol. 42-126, August 1996.
The decoding of a turbocode is conventionally effected by means of an iterative process also referred to as turbodecoding, consisting of a series of elementary decoding operations, each elementary decoding operation receiving weighted input values and supplying weighted output values, relating respectively to the input and, for a serial turbocode, to the output of the corresponding elementary coding operation. The weighted input and output values represent the probabilities of the binary or M-ary symbols at the input and (for serial turbocodes) at the output of the corresponding elementary coder. Deinterleaving and interleaving operations take place as a function of the interleaving operations performed at coding and enable each elementary decoding operation to take account of the data in the same order as that at the input of the corresponding coding operation.
FIG. 1a illustrates schematically an example of a turbocoder. The turbocoder depicted is a parallel turbocoder of dimension 2. The information x, in the form of a block of data, is coded by a first elementary coder 110 in order to supply a first output y1 and by a second elementary coder 120, after having been interleaved by the interleaver 115, in order to supply a second output y2. The systematic information is multiplexed at 130 with the coded information y1 and y2 before being interleaved by a channel interleaver 140.
On reception, the information is decoded by means of the turbodecoder depicted in FIG. 1b. After deinterleaving in the channel deinterleaver 145, the information x, y1 and y2 is demultiplexed by the demultiplexer 150. The elementary decoders 160 and 170, for example of the Log MAP type, correspond respectively to the elementary coders 110 and 120. The decoder 160, of the weighted input and output type, receives a priori information on x and the coded information y1 in order to derive therefrom a posteriori information on x. The difference between the a posteriori information and the a priori information is called extrinsic information. The a priori information on x and the extrinsic information e1 supplied by the first decoder are interleaved and then added in order to supply to the decoder 170 new a priori information on x (or more precisely on x′, the interleaved version of x). The decoder 170 estimates, from this a priori information and the coded information y2, a posteriori information on x′. The intrinsic information e′2 is derived therefrom by difference in 171 before being deinterleaved in the deinterleaver 180 and is then added at 151 to the systematic information in order to supply new a priori information on x to the decoder 160. The decoding steps are then repeated, for a predetermined number of iterations niterations. The flexible values at the output of the decoder 170 are submitted to a decision device 190 in order to supply hard values. An error correction check 195 operating on the output of 190 determines whether the decoded block is error-free and, in the affirmative, interrupts the iterations without having to await the predetermined number niterations. Alternatively, in order to decide on the stoppage of the iterations, the turbodecoder can use, instead of a CRC, another stoppage criterion on the weighted values, such as the one disclosed, for example, in the article by J. Hagenauer et al. entitled “Iterative decoding of binary block and convolutional codes”, IEEE Transactions on Information Theory, vol. 42, pp. 429-445, published in March 1996, or in the article by M. Moher entitled “Decoding via cross entropy minimization”, in Proc. IEEE Globecom Conf., Houston, Tex., pp. 809-813, published in December 1993.
The principle of iterative decoding was transposed to equalisation by C. Douillard et al. in an article entitled “Iterative Correction of Intersymbol Interference: Turbo-equalization”, published in European Trans. Telecomm., Vol. 6, No 5, September/October, pages 507-511. This iterative equalisation method, also referred to as turboequalisation, starts from the principle that a channel affected by intersymbol interference (ISI) can be considered to be equivalent to a convolutional coder and consequently the concatenation of a channel coder, an interleaver and a transmission channel can itself be considered to be the equivalent of a turbocoder.
FIG. 2b illustrates schematically the structure of a turboequaliser. It will be assumed that the data were, on the same side as the transmitter depicted in FIG. 2a, the subject of channel coding in a coder 201 before being interleaved in an interleaver 202 and subjected to M-ary to symbol mapping in the modulator 203. The data are transmitted in the form of a block of symbols interleaved by the channel interleaver 204. The turboequaliser comprises first of all a channel deinterleaver 210 followed by a weighted output equaliser of the Log-MAP type supplying flexible values of coded data. These data are deinterleaved in the deinterleaver 230 before being decoded by a decoder 240 of the Log-MAP type with weighted output. The flexible values issuing from the decoder 240 are submitted to a decision device 250 supplying the corresponding hard values. The weighted values at the input of the decoder 240 are subtracted from the output values in order to supply extrinsic information e. After interleaving, the extrinsic information is on the one hand subtracted at the output of the equaliser 220 and on the other hand remodulated before being transmitted to the equaliser. From the symbols received and the remodulated extrinsic information, the equaliser 220 proceeds with a new a priori estimation. The turboequaliser thus carries out a predetermined number of iterations on a block of symbols. An error correction check 260 at the output of 250 diagnoses the presence or absence of errors, the iteration process is interrupted without the iterations without having to wait for the predetermined number niterations. The stoppage criterion can alternatively relate to the weighted values, as seen above.
It should be noted in relation to the design that both for turbocoding and for turboequalisation the iterations can be carried out one after the other within the same processor or in dedicated circuits arranged in a pipeline, each being responsible for an iteration of given rank.
In the cases of turbocoding and turboequalisation, the performance in terms of bit error rate (BER) or packet error rate (PER) is all the better, the greater the length of the size N of the internal interleaver (IL). This is because the increase in the size of the internal interleaver, that is to say the size of the block on which the interleaving is carried out, improves both the Hamming weight distribution of the turbocode and the efficacy of the iterative decoding. The interleaving gain varies according to the type of turbocode. Hereinafter the term “performance” will be used indifferently for the BER or the PER on the decoded data.
FIG. 3 shows, by way of example, the interleaving gain for the turbocoder of FIG. 1a, whose elementary coders are RSC (Recursive Systematic Convolutional) coders of polynomials (13,15)oct, when the size N of the block changes from 200 to 1000.
When the signal to noise ratio (SNR or C/N standing for Carrier/Noise) is low, it is known from the state of the art that high values of N can be used for improving the performance of the system. However, the increase in N is to the detriment of the latency of the receiver, that is to say the time at the end of which a block of data or symbols received is actually available in decoded form. This is because the latency time at the receiver can be written:                               T          latency                =                              T            rec                    +                                    N                              D                d                                      ·                          n              iterations                                                          (        1        )            
where Dd is the decoding rate per iteration and Trec is the time at the end of which the block of size N is available in deinterleaved form, at the receiver. If a channel interleaving of size M, with M≧N, is applied at the transmitter, this will give Trec=M/Du where Du is the useful information rate. If no channel interleaving is used, the reception time will simply be Trec=N/Du.
For a given maximum latency time or set latency time and a predetermined number of iterations, formula (1) makes it possible to obtain the block size giving the maximum performance.
Conversely, a reduction in the latency time can be obtained by reducing the size of the blocks, at the cost however of a correlative reduction in the performance of the system. In order to regain acceptable performance, it is known that the transmission power can be increased, which naturally burdens the resources of the system.